1. Field
This disclosure relates to a method of operating a data processing system. More particularly, the disclosure relates to a class-level overview of the crosscutting structure in an aspect-oriented system.
2. General Background
In the field of creating computer software, it is common to produce a large program with multiple developers where a number of features have been written using aspect-oriented techniques. An aspect is a self-contained piece of code that defines the circumstances in the main source code that will trigger the aspect. A person working on a file or set of files in such a program may like to know the set of aspects that are in effect on a given file (a portion of the main source code). In programming environments such as Eclipse (www.eclipse.org) and the AspectJ Development Tools (AJDT, see www.eclipse.org/ajdt), markers are added to the left hand margin of the editor for each place in the source code where an aspect matches (where advice of an aspect is in effect). However, in order to work out which aspects are affecting the source code, a user has to select each individual marker, right click, and follow a menu.
AJDT also provides a cross references view, but this view also shows the specific advice in effect rather than the aspects, so it can be time-consuming to work out which aspects are affecting the source code. The two methods are time consuming, especially when there are a large number of pieces of advice affecting the source code. In addition, the user may have switched off the markers and may not have the cross references view open to avoid cluttering the on-screen view of the source code editor.